# 顶层 conftest.py - 项目根目录配置文件
# pytest 会自动发现并加载子目录中的 conftest.py 文件，无需显式配置 pytest_plugins

# 插件配置 - 必须在顶级conftest.py中定义（Pytest 8要求）
# pytest_plugins = ("cases.api_test.activity_test.conftest",)

import pytest
import os
import sys
from utils.database_util import DatabaseUtil
from utils.logger_util import logger
from utils.request_util import Request, host
from utils.yaml_util import read_yaml

# 添加编码配置
def pytest_configure(config):
    """pytest配置钩子，设置编码"""
    # 在Windows环境下设置控制台编码
    if sys.platform.startswith('win'):
        try:
            # 尝试设置控制台编码为UTF-8
            os.system('chcp 65001 > nul')
        except:
            pass

def pytest_collection_modifyitems(config, items):
    """修改测试项目的显示名称，确保中文正确显示"""
    for item in items:
        # 如果测试名称包含Unicode转义序列，尝试解码
        if hasattr(item, 'name') and '\\u' in item.name:
            try:
                # 解码Unicode转义序列
                decoded_name = item.name.encode('latin1').decode('unicode_escape')
                # 如果解码成功且包含中文字符，使用解码后的名称
                if any('\u4e00' <= char <= '\u9fff' for char in decoded_name):
                    item._nodeid = item._nodeid.replace(item.name, decoded_name)
            except:
                pass

